-
Notifications
You must be signed in to change notification settings - Fork 32
✨Computational clusters: connect autoscaling to RabbitMQ ⚠️ #7485
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
✨Computational clusters: connect autoscaling to RabbitMQ ⚠️ #7485
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #7485 +/- ##
==========================================
+ Coverage 87.60% 87.63% +0.03%
==========================================
Files 1758 1751 -7
Lines 68116 67942 -174
Branches 1124 1124
==========================================
- Hits 59672 59540 -132
+ Misses 8135 8093 -42
Partials 309 309
Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
6ab02df to
2bf6e94
Compare
services/clusters-keeper/src/simcore_service_clusters_keeper/utils/clusters.py
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice!
services/clusters-keeper/src/simcore_service_clusters_keeper/core/settings.py
Show resolved
Hide resolved
a1c0e94 to
9c35879
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you elaborate on open ports on self-hosted rabbit containers? I don't fully follow
9c35879 to
47f6be2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR integrates RabbitMQ settings for autoscaling in private clusters by introducing a new environment variable and updating related settings and tests.
- Added a new environment variable to inject RabbitMQ settings into Docker Compose.
- Updated the settings schema, tests, and related utilities to propagate and validate the RabbitMQ configuration.
Reviewed Changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| services/docker-compose.yml | Added PRIMARY_EC2_INSTANCES_RABBIT_SETTINGS environment variable for RabbitMQ. |
| services/clusters-keeper/tests/unit/test_utils_clusters.py | Included new RabbitMQ fixtures and tests to verify RabbitMQ settings propagation. |
| services/clusters-keeper/tests/unit/test_modules_dask.py | Updated TLSAuthentication usage to the new model_json_schema() pattern. |
| services/clusters-keeper/tests/unit/conftest.py | Modified fixture to properly unset RABBIT_HOST when disabling RabbitMQ. |
| services/clusters-keeper/src/simcore_service_clusters_keeper/utils/clusters.py | Appended AUTOSCALING_RABBITMQ into environment variables using RabbitSettings. |
| services/clusters-keeper/src/simcore_service_clusters_keeper/data/docker-compose.yml | Injected AUTOSCALING_RABBITMQ in the deploy compose file. |
| services/clusters-keeper/src/simcore_service_clusters_keeper/core/settings.py | Added PRIMARY_EC2_INSTANCES_RABBIT field in the settings schema. |
| services/autoscaling/tests/unit/test_modules_dask.py | Reformatted async call for task results, along with TLSAuthentication update. |
| packages/settings-library/src/settings_library/rabbit.py | Revised allowed_schemes typing and JSON schema examples for Rabbit settings. |
| packages/models-library/src/models_library/clusters.py | Updated schema examples for TLSAuthentication and cluster configuration. |
Comments suppressed due to low confidence (1)
services/docker-compose.yml:223
- Environment variable 'PRIMARY_EC2_INSTANCES_RABBIT_SETTINGS' is inconsistent with the settings field 'PRIMARY_EC2_INSTANCES_RABBIT'. Consider renaming it to 'PRIMARY_EC2_INSTANCES_RABBIT' for consistency.
PRIMARY_EC2_INSTANCES_RABBIT_SETTINGS: ${PRIMARY_EC2_INSTANCES_RABBIT_SETTINGS}
|



What do these changes do?
PRIMARY_EC2_INSTANCES_RABBITfor setting RabbitMQ settings in user private clustersThis PR shall allow private cluster autoscaling to send logs to the main simcore rabbitMQ.
This is a pre-requisite to see logs about scaling up/down of clusters and also send information about the cluster current status.
Related issue/s
How to test
Dev-ops checklist